/*
 * templates.h
 *
 * Created: 22.7.2013 18:39:17
 *  Author: Ferda
 */ 
#pragma once
//========================================================================================================

#include "util.h"

//========================================================================================================

template<class T> FORCE_INLINE T min(T f, T s) { return (f < s ? f : s); }
template<class T> FORCE_INLINE T max(T f, T s) { return (f > s ? f : s); }
template<class T> FORCE_INLINE T limit(T val, T min, T max) { return (val < min ? min : (val > max ? max : val)); }
template<class T> FORCE_INLINE T abs(T val) { return (val >= 0 ? val : -val); }
template<class T> FORCE_INLINE bool in_window(T current, T target, T tol) { return (current >= (target - tol)) && (current <= (target + tol)); }

